//修饰符（类中的成员的修饰符）：主要是描述类中的成员（属性、构造函数、方法）的可访问性
//类中的成员都有自己默认的修饰符public
//public修饰符---公共的，类中的成员默认的修饰符，代表的是公共的，任何位置都可以类中的成员
//private修饰符---私有的，类中的成员使用这个来修饰，外部无法访问这个成员，子类中也无法访问
//protected修饰符---受保护的，外部无法访问这个成员，子类中可以访问
(() => {
    class Person {

        // name: string
        // public name: string
        // private name: string
        protected name: string

        constructor(name: string) {
            this.name = name
        }

        eat(){
            console.log('真好吃',this.name)
        }
    }

    class Students extends Person{

        constructor(name: string) {
            super(name)
        }

        play(){
            console.log('我喜欢玩...',this.name)  //private修饰下name无法访问
        }
    }

    const per = new Person('大蛇丸')
    per.eat()
    //console.log(per.name)   //private修饰下name无法访问
})()